package io.github.uicdb.et.capability;

import io.github.uicdb.et.ElementalTheory;
import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation;
import net.neoforged.neoforge.capabilities.BlockCapability;
import net.neoforged.neoforge.capabilities.Capabilities;
import net.neoforged.neoforge.capabilities.EntityCapability;
import net.neoforged.neoforge.capabilities.ItemCapability;
import net.neoforged.neoforge.fluids.capability.IFluidHandler;
import net.neoforged.neoforge.fluids.capability.IFluidHandlerItem;
import org.jetbrains.annotations.Nullable;

public class ModCapability {
    private static ResourceLocation create(String path) {
        return ResourceLocation.fromNamespaceAndPath(ElementalTheory.MODID, path);
    }
    public static class ElementalHandler{
        public static final BlockCapability<IElementalHandler, @Nullable Direction> BLOCK = BlockCapability.createSided(create("elemental_handler"), IElementalHandler.class);
        public static final EntityCapability<IElementalHandler, @Nullable Direction> ENTITY = EntityCapability.createSided(create("elemental_handler"), IElementalHandler.class);
        public static final ItemCapability<IElementalHandler, @Nullable Void> ITEM = ItemCapability.createVoid(create("elemental_handler"), IElementalHandler.class);

        private ElementalHandler() {
        }
    }
}
